package com.jie.service;


import com.jie.utils.R;
import com.jie.entity.Airport;
import com.baomidou.mybatisplus.extension.service.IService;


import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 小杰说java
 * @since 2021-05-19
 */
public interface AirportService extends IService<Airport> {
    R limit(Long page, Long limit);

    /**
     * :统计：旅客总量，航班总量 每个月的y基准价，和
     * 主航位总量(这个是主舱位是F和C的旅客量)
     *
     * @return
     */
    List<Map<String, Object>> getPuer();

    /**
     * 旅客量，航班量 每个月的y基准价，和
     * 主航位总量（5月到10月的都得求出 count()函数求数量即可）
     */
    List<Map<String, Object>> getEryi();

    /**
     * 5到10月的每个月游客量
     */
    List<Map<String, Object>> getMonthlyPassenger();

    /**
     * 航班每月数量
     */
    List<Map<String, Object>> getTotalMFlights();

    /**
     * 前十热门城市
     *
     * @return
     */
    List<Map<String, Double>> getTopCitiess();

    /**
     * 前三
     *
     * @param cont
     * @return
     */
    List<List<Map<String, Object>>> getTopCities(Integer cont);

    /**
     * 统计每个月航班数量和旅客量
     */
    List<Map<String, Object>> getStatisticsMonthlyFlights();

    /**
     * 统计每月航班总数 旅客量和每人平均分摊收入多少
     */
    List<Map<String, Object>> getTotalNumber();


    /**
     * 统计每月航班总数 ,y基准价和每人平均分摊收入多少
     */
    List<Map<String, Object>> get();

    /**
     * 某天 某周 每个月 每年的数句
     */
    List<Map> getFlightData();

    /**
     * 每个月的客座率
     *
     * @return
     */
    List<Map<String, Object>> getPassengerFive();

    /**
     * 自定义XY轴接口
     */
    List<Map<String, Object>> getCustomXY();

    /**
     * '航班旅客量', '主航位量', '航班航线', '团旅客量'
     */
    List<Map<String, Object>> getAllFlights();

    List<Map<String, Double>> getSum(List<List<String>> dpts);

    List<Map<String, Double>> getAVG(List<List<String>> dpts);

    List<Map<String, Double>> getMax(List<List<String>> dpts);

    List<Map<String, Double>> getMin(List<List<String>> dpts);

    List<Map<String, Double>> calculateVariance(List<List<String>> dpts);

    List<Map<String, Long>> getCount(List<List<String>> dpts);

    List<Map<String, List>> getCluster(List<List<String>> dpts);

    List<Map<String, Double>> predict(List<List<String>> dpts);

    List<String> getAllDpt();
}
